package com.sinosoft.sinopay.merchants.facade;

import com.sinosoft.sinocloud.platform.common.web.pagequery.PageGrid;
import com.sinosoft.sinocloud.platform.common.web.pagequery.PageQueryModel;
import com.sinosoft.sinopay.merchants.dto.MerchantDTO;
import com.sinosoft.sinopay.merchants.dto.MerchantSignInfo;
import com.sinosoft.sinopay.merchants.dto.PayMerchantDTO;

import java.util.List;
import java.util.Map;
/**
 * 【商户安全认证微服务接口类】
 * @author chenxin
 * @date 2016年11月8日 下午4:29:28 
 * @version V1.0
 */
public interface MerchantInfoFacadeService {
	/**
	 * 获取全部的商户签名信息
	 * @return   key为商户code，value为商户signkey
	 */
	Map<String,String> getAllMerchantSignKeys();

	/**
	 * 根据页码和参数获取当页商户信息集合
	 * @return
     */
	PageGrid getMerchantMsgForPageAndDate(PageQueryModel pageQueryModel);

	/**
	 * 根据sid查询商户详情信息
	 * @return  商户详情信息
	 */
	MerchantSignInfo getMerchantForSid(Integer sid);

	/**
	 * 新增商户信息
	 * @return  商户信息Sid
	 */
	String addMerchantMsg(PayMerchantDTO payMerchant);


	/**
	 * 更新商户信息
	 * @return  true = 更新成功; false = 更新失败
	 */
	String updateMerchantMsg(PayMerchantDTO payMerchant);

	/**
	 * 删除商户信息
	 * @return  删除成功; false = 删除失败
	 */
	boolean deleteMerchantMsg(Integer sid);

	/**
	 *查询所有商户名和商户编码
	 *@return  商户名和商户编码
	 */
	List<MerchantDTO> selectMerchantName();

	/**
	 *根据商户CODE查询商户信息
	 *@return 商户详情信息
	 */
	MerchantSignInfo getMerchantByCode(String merchantCode);

}
